/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.32942, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.52891, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.55027, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.44214, 0.3831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.24722, 0.37907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.00521, 0.3757 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.7539, 0.37287 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.52696, 0.3705 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.34877, 0.36849 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.22803, 0.36678 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.15226, 0.36532 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.08508, 0.36409 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96707, 0.36311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72005, 0.36243 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.25408, 0.36213 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.47654, 0.36233 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.30225, 0.36318 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.66389, 0.36484 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.52161, 0.36746 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.87122, 0.37116 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.75035, 0.37604 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.24123, 0.38213 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.46847, 0.38945 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.58962, 0.39797 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.77787, 0.40771 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.80083, 0.41866 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.01117, 0.43082 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.7669, 0.44414 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.04021, 0.45846 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.86156, 0.47344 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.31194, 0.48851 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.51102, 0.50288 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.60456, 0.51555 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.75222, 0.5254 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.1136, 0.53134 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.82923, 0.53258 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.99682, 0.52876 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64966, 0.52019 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.74766, 0.50771 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.18734, 0.49261 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.82711, 0.47631 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.51689, 0.46016 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.12112, 0.44524 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.52974, 0.4323 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.65884, 0.42179 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.44529, 0.41392 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.83987, 0.40876 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.80126, 0.4063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.29122, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.27034, 0.40949 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.69292, 0.41527 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.50037, 0.42409 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.61359, 0.43624 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92669, 0.45207 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.30643, 0.47183 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.60436, 0.49535 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.69031, 0.52162 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.51358, 0.5483 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.18326, 0.57155 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.0257, 0.58695 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.5546, 0.59131 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.33445, 0.5843 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.18277, 0.56836 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.7415, 0.54715 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.26587, 0.52399 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.79542, 0.50119 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.42499, 0.48008 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.26702, 0.46123 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.4336, 0.44483 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.03014, 0.43079 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.15399, 0.41892 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.89398, 0.40895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.32942, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.3953, 0.37414 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.70286, 0.37026 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.84098, 0.36702 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.8493, 0.36433 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.76096, 0.36212 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.60743, 0.36031 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.42231, 0.35887 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.24116, 0.35777 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.0969, 0.35697 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.0124, 0.35647 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.99294, 0.35623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02041, 0.35627 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05009, 0.35657 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01006, 0.35717 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.80386, 0.35811 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.31763, 0.35949 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.43228, 0.36145 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.03956, 0.36417 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.05946, 0.36784 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.45628, 0.37264 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.25148, 0.37869 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.53173, 0.38602 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.44878, 0.39462 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.20723, 0.40442 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.96211, 0.41543 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.83864, 0.4277 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.24794, 0.44136 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.08617, 0.45655 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.32702, 0.47331 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.01249, 0.4915 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.23355, 0.51075 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.10992, 0.53034 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.77779, 0.54915 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.38917, 0.56561 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.11619, 0.57778 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.14467, 0.58377 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.64393, 0.58225 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.71824, 0.57294 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.36668, 0.55684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.47884, 0.53593 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.87027, 0.51266 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.33551, 0.48936 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.691, 0.46785 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.79417, 0.44929 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.54205, 0.43426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.86019, 0.4229 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.6909, 0.41512 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.98497, 0.41068 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.69704, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.78264, 0.41077 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.19487, 0.4148 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88045, 0.42118 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.77805, 0.42964 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.82501, 0.43975 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.97948, 0.45077 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.25877, 0.46154 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.78032, 0.47057 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.77591, 0.47639 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.55339, 0.47815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.41717, 0.4759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.59637, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.22134, 0.46264 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.65478, 0.45356 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.02014, 0.44383 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.878, 0.43389 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.23562, 0.42409 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.10278, 0.41468 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.49368, 0.40586 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.42955, 0.39779 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.94124, 0.39056 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.07073, 0.38422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.86977, 0.37877 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.3953, 0.37414 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.58578, 0.35471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.93, 0.35267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.12369, 0.35102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.20028, 0.34971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.18277, 0.34868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.09026, 0.3479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.94519, 0.34738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.77654, 0.34711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.61716, 0.3471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.49718, 0.34737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43624, 0.34795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43645, 0.34884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47575, 0.35006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.50124, 0.35161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.42423, 0.35351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.12137, 0.35579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.44592, 0.35859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.24917, 0.36209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.40758, 0.36652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.84923, 0.37209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.57582, 0.37892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.67727, 0.38703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.33426, 0.3963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.19859, 0.40661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.63248, 0.41794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.69877, 0.43042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.19889, 0.44431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.0322, 0.45994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19551, 0.47756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.75895, 0.49728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.82948, 0.51902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.51675, 0.54243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.91749, 0.56671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.12786, 0.59032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.27765, 0.61078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.55913, 0.62492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.21342, 0.62967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.45833, 0.62327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.39313, 0.60611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.94821, 0.58065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.91574, 0.55055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.03244, 0.51956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.05618, 0.49064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.80194, 0.46564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.14083, 0.44535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.9829, 0.42988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.26076, 0.4189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.92031, 0.41189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.91799, 0.40825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.22038, 0.40739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.80297, 0.40869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.64814, 0.41154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.74791, 0.41528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.11957, 0.41911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.83601, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.05573, 0.42358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.02178, 0.42279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.01022, 0.41983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.24971, 0.41527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.86443, 0.40989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.87249, 0.40438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.77208, 0.3991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.12847, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.23542, 0.38938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.1019, 0.38477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.71464, 0.38023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.05033, 0.37577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.08509, 0.37145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.80064, 0.36734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.18986, 0.36354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.26229, 0.36014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.04637, 0.35719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.58578, 0.35471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.52909, 0.33997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.86742, 0.33907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.07758, 0.33845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.19167, 0.33805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.22535, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.18509, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.07892, 0.33792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.92334, 0.33822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.74364, 0.33875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56921, 0.33953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42745, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.33742, 0.34202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.3013, 0.34377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.29175, 0.34587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.23782, 0.3483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.01729, 0.35109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.46457, 0.35432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.39664, 0.3582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.65054, 0.36297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.12175, 0.36884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.79604, 0.37592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.77057, 0.38414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.25753, 0.39333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.44026, 0.40329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.98564, 0.414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.07951, 0.42567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.52072, 0.43872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.23134, 0.45357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24469, 0.47057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.66572, 0.48994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.61816, 0.5118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.19689, 0.53616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.44674, 0.56273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.38276, 0.59057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.04937, 0.61745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.59044, 0.6397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.27756, 0.65279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.44622, 0.65292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.35193, 0.6389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.04327, 0.61273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.34877, 0.57878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.97212, 0.5421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.60889, 0.50698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.01404, 0.47617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.01273, 0.45093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.48375, 0.43139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.34209, 0.41709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.53065, 0.40721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.01913, 0.40089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.80362, 0.39723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.90187, 0.3954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.34594, 0.39464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.18179, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.48593, 0.39341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.39463, 0.39166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.11895, 0.38859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.91439, 0.38427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.00736, 0.37917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.52336, 0.37397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.46433, 0.36922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74177, 0.36523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76309, 0.362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14557, 0.35935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45048, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.67416, 0.35489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.78386, 0.35277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.73765, 0.35063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.49504, 0.34849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.02018, 0.34641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.28568, 0.34444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.28029, 0.34267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.01625, 0.34117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.52909, 0.33997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.03271, 0.32866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.33568, 0.32847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.53134, 0.32851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.65547, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.72081, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.72398, 0.32959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.65884, 0.3302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.5271, 0.33095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34172, 0.33187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12502, 0.33299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.90551, 0.33437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.71367, 0.33605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.5728, 0.33804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.48102, 0.34032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.38784, 0.34289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.17728, 0.34576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.67192, 0.34902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.66318, 0.35286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.95898, 0.35754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.43336, 0.36325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.06686, 0.37004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.97176, 0.37777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.60703, 0.38617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.32782, 0.39505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.82498, 0.40442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.79338, 0.41462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.04846, 0.42615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.5424, 0.43947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.34047, 0.45491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.57112, 0.47257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.36392, 0.49253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.79467, 0.51486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.86172, 0.53957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.51095, 0.56626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.70763, 0.59347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.52979, 0.61813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.23224, 0.6357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.2164, 0.64155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.88286, 0.63307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.44852, 0.61101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.86178, 0.57909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.86182, 0.54244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.10741, 0.5059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.2801, 0.47293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.12758, 0.44531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.46704, 0.42348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.17752, 0.407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.19485, 0.39501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50841, 0.38653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.15264, 0.3806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.18934, 0.37636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.68772, 0.37311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.71838, 0.37027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.37336, 0.36731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.80006, 0.36387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.21265, 0.35978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.85034, 0.35522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.89676, 0.35062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.41463, 0.34645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33812, 0.34304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.47951, 0.34047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.19584, 0.33866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.92106, 0.33737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69283, 0.33636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48726, 0.33545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.2504, 0.33451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.92641, 0.33354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.46797, 0.33253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.83339, 0.33153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.98506, 0.33058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.89752, 0.32974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.57021, 0.32908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.03271, 0.32866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.99364, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.23977, 0.32033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.39442, 0.32079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.50115, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.57458, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.60572, 0.32308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.57704, 0.32406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47614, 0.32515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30217, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.06701, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.7955, 0.32929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.52419, 0.33107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.29201, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.11739, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.9664, 0.33772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.72823, 0.34036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.21726, 0.34335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.20859, 0.34687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.49484, 0.35116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.94438, 0.35637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.54679, 0.36246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.43766, 0.36922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.10825, 0.37633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.72661, 0.38363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.04812, 0.39123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.78367, 0.39958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.77426, 0.40921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.99474, 0.42057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.52299, 0.43385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.48845, 0.44899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.01106, 0.46579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.14766, 0.4841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.87091, 0.50381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.09814, 0.5247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.76605, 0.54588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.9236, 0.56533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.79916, 0.57986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.78926, 0.5859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.34316, 0.58105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.79342, 0.56521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.23717, 0.5406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.53079, 0.51087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.37121, 0.47987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.39808, 0.45077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.27255, 0.42553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.72351, 0.40491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.56972, 0.38882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.72585, 0.37662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.19405, 0.36751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.03952, 0.3607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.3535, 0.35548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.21934, 0.35133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.70479, 0.34781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.89063, 0.34452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.91448, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.9846, 0.33766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.33256, 0.33407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.12524, 0.33069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39654, 0.32781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.04298, 0.32563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.12054, 0.32417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.27987, 0.32331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.55453, 0.32284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.97095, 0.32256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.48161, 0.32232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00984, 0.32202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48749, 0.32167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.86517, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.10185, 0.32088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.15561, 0.3205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.99064, 0.3202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.59521, 0.32004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.99364, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.35248, 0.31384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.52784, 0.31436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.62029, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.68425, 0.31597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.74052, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.77901, 0.31815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.77457, 0.31939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70309, 0.32072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55086, 0.32213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.31883, 0.32365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.02624, 0.32529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.71183, 0.32706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.424, 0.32896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.19342, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.99451, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.71661, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.16761, 0.33794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.11561, 0.34102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.35292, 0.34479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.7588, 0.34933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.34513, 0.35451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.72461, 0.36003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.15407, 0.36559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.5758, 0.37109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.63834, 0.37675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.08069, 0.38305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.76614, 0.39054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.67587, 0.3996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.878, 0.4103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.48369, 0.4224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.5964, 0.43542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.2675, 0.44888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.48038, 0.46239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.17903, 0.47564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.33337, 0.48809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.01083, 0.49876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.41814, 0.50609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.88658, 0.50838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.79848, 0.50436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.48347, 0.49381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.12804, 0.47765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.72939, 0.45773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.10096, 0.43624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.92221, 0.41521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.81714, 0.39613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.43903, 0.37985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.53685, 0.36658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.98694, 0.35609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.7859, 0.34793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.01077, 0.34158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.76261, 0.33662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.12106, 0.33267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.13755, 0.32944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.87305, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.45117, 0.32405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.07561, 0.32151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.97983, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33147, 0.31687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.15608, 0.31511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.67056, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.36172, 0.31323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.12725, 0.31299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.09482, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.27949, 0.31321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.61013, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.9875, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33191, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.59379, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.73535, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.71325, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.48329, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.02336, 0.31353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.35248, 0.31384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.0672, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.16709, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.18429, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.18636, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.20391, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.22983, 0.31478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.23481, 0.31616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18557, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.05736, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.84162, 0.32066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.55238, 0.32227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.22862, 0.32394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.92264, 0.32565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.66847, 0.32737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.43941, 0.32914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.1195, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.51203, 0.33322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.38773, 0.33587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.55273, 0.33913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.91109, 0.34297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.50546, 0.34719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.4744, 0.35144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.72314, 0.35545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.88784, 0.35918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.64724, 0.36292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.76849, 0.36717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.12622, 0.37242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.69242, 0.37898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51238, 0.38686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.67408, 0.39567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.27305, 0.40481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.38042, 0.41358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.03016, 0.4214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.23752, 0.42793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.03975, 0.43298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.53335, 0.43635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.88634, 0.43773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.32388, 0.43671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.09997, 0.43287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.46407, 0.42603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.61836, 0.4164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.6625, 0.40465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.54316, 0.39173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.04031, 0.37862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.81208, 0.36618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.48732, 0.35501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.76603, 0.34543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.48353, 0.33748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61591, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.23361, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.43148, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.27496, 0.31839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.79428, 0.31577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.02868, 0.31363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.0859, 0.31179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.16337, 0.31014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.49763, 0.30865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26373, 0.3074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.5102, 0.30649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.95768, 0.30599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.3117, 0.30587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.80173, 0.30606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.56295, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.60125, 0.30691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.82514, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.11541, 0.3077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38185, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57441, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.65835, 0.30842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.58917, 0.30862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.31491, 0.30886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.80319, 0.3092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.0672, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.0963, 0.30747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.12768, 0.30827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.06792, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.9994, 0.31035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.96577, 0.3116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.9664, 0.31295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.97044, 0.31436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93698, 0.3158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.83143, 0.31726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.63729, 0.31873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.36481, 0.3202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.05268, 0.32167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.75288, 0.32312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.49521, 0.32453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.24435, 0.32597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.87586, 0.32754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.19217, 0.32941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.97612, 0.33173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.05921, 0.33456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.37928, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.98832, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.83495, 0.34423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.86008, 0.34686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.73702, 0.34904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.17666, 0.35109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.96644, 0.35345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.98137, 0.35657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.17776, 0.3607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.58002, 0.36578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.26372, 0.37144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.33418, 0.37706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.90378, 0.38195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.07707, 0.38557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.95041, 0.38767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.62097, 0.38831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.19239, 0.38774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.77262, 0.38622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.47349, 0.38385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.422, 0.38055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.77524, 0.37617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.71286, 0.37064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.38732, 0.3641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84676, 0.35686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.97725, 0.34931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.50898, 0.34184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.094, 0.33479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.41867, 0.32841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.29193, 0.32283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66792, 0.31809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.60201, 0.31412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.17495, 0.31088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.43417, 0.30828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.38824, 0.30623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.0546, 0.30465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.52277, 0.3034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.97861, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65639, 0.3016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26292, 0.30104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.74418, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.92163, 0.30073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.03872, 0.301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.33816, 0.30149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.96129, 0.30213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.90836, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.07374, 0.30347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.32334, 0.30407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.55796, 0.3046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.7257, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.79258, 0.3055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.71154, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.42232, 0.30633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.88181, 0.30684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.0963, 0.30747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.38849, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.37246, 0.30793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.24816, 0.30897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.11396, 0.31013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.02943, 0.31138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.00362, 0.31269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.0061, 0.31402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98865, 0.31534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90667, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.7361, 0.3179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.48429, 0.31912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.18933, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.90012, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.63761, 0.32252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.35432, 0.32367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.91807, 0.325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.13612, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.81198, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.81041, 0.33123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.10656, 0.33396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.19517, 0.33659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.87759, 0.33876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.65609, 0.34029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.2346, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.35131, 0.34188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.80527, 0.34266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.46752, 0.34394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28378, 0.34592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.27153, 0.34856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.51144, 0.35154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.13215, 0.35437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.29039, 0.35649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.15082, 0.35752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.86866, 0.35733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.57408, 0.35608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.35834, 0.35412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.26923, 0.35181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.32668, 0.34935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.56033, 0.34677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.05132, 0.34394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.05437, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.58646, 0.33712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.43501, 0.33314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.36868, 0.3289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.62911, 0.32455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.04354, 0.32025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.31116, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.23311, 0.31236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.74925, 0.30899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.90106, 0.30605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.75549, 0.30358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.34416, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.6573, 0.29996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.69249, 0.29877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.51921, 0.29792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.30572, 0.29735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27565, 0.29701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.39052, 0.29691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.65113, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.6349, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.58604, 0.29792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.7523, 0.29863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.27876, 0.29945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.16443, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.29774, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.53669, 0.30206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.77554, 0.30285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95871, 0.30358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.04976, 0.30427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.99675, 0.30491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.7301, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.19485, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.38849, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.87766, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.85113, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.69114, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.51194, 0.31154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.39134, 0.31275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.35097, 0.31396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36257, 0.31513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37055, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.31908, 0.31727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.17539, 0.31822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.94313, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.65881, 0.31991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.36646, 0.32069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.07682, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.73117, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.19398, 0.32351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.28419, 0.32502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.83284, 0.32694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.74216, 0.3292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.02392, 0.33153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.19477, 0.3336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.69721, 0.33507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.22056, 0.33578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.49801, 0.33579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.28915, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.40124, 0.33491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.70625, 0.33472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.15277, 0.33499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.76858, 0.3357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.65234, 0.33664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.95663, 0.33748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.86677, 0.33786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.57851, 0.33752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.2738, 0.33639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.09363, 0.33464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.11426, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.34121, 0.33033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.73339, 0.32824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.25453, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.07065, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.13023, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.75603, 0.32042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.8064, 0.3182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25674, 0.31581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.2412, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.98529, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.14665, 0.30803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.0486, 0.30547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.62488, 0.30309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.90807, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.95626, 0.29903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.79156, 0.29744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.39241, 0.29617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.74084, 0.29524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.88644, 0.29463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97504, 0.29431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.21117, 0.29426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.23366, 0.29444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.31502, 0.29484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.15254, 0.29542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.01775, 0.29615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.0483, 0.29701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.49655, 0.298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.32928, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.43786, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.68035, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.9476, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17893, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.3323, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.34868, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.14808, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.66244, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.87766, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.48192, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.49781, 0.31207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.34875, 0.31328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.16259, 0.31447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.03589, 0.3156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.00514, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04623, 0.31761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09679, 0.31844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.08881, 0.31914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.9789, 0.31973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.76468, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.47875, 0.32066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.15898, 0.32108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.8069, 0.32157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.35671, 0.32224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.67604, 0.32323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.60222, 0.32462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.99858, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.80609, 0.32845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.92968, 0.33046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.06443, 0.33209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.38643, 0.33303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.65462, 0.33314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.62758, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.08408, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.84431, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79355, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.89905, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.21113, 0.32693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.84875, 0.32646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.97722, 0.32601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.7868, 0.32536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.47463, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.22401, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.17563, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.39795, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.87625, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.53654, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.30188, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.84358, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.81926, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.46978, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.64157, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.27522, 0.30806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45832, 0.30658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.4032, 0.30496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64124, 0.30324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49051, 0.30148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.07688, 0.29976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.42811, 0.29813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.59891, 0.29665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.60955, 0.29536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.43496, 0.29431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.048, 0.29353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48061, 0.29305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85366, 0.29286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.34586, 0.29295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.11156, 0.29329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.19264, 0.29384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.47958, 0.29455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.75113, 0.29541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.77413, 0.29639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.40468, 0.29751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.36667, 0.29876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.44229, 0.30012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.68786, 0.30154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.99449, 0.30298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29579, 0.3044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.5419, 0.30578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.66533, 0.3071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.57556, 0.30837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.19063, 0.30961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.48192, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.10784, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.23209, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.15772, 0.31743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.02036, 0.31864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.93269, 0.31969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.94641, 0.32058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04379, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15788, 0.3218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.20941, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.14318, 0.32238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.94782, 0.32251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.64872, 0.32259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.27612, 0.32271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.82429, 0.32295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.22573, 0.32344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.35785, 0.3243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.08178, 0.32558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.29558, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.97824, 0.32903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.79366, 0.33072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.86096, 0.33195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.0159, 0.33246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.0346, 0.33212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.69761, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.80615, 0.32927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.20485, 0.32724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.80774, 0.32518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.61316, 0.32329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.6977, 0.32166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.1936, 0.32026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.26287, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.0799, 0.31782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.82281, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.66154, 0.31515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.73224, 0.31365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.10369, 0.31211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.75875, 0.31064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.61221, 0.30931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.43425, 0.30817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.42459, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.30621, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.94259, 0.30565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.18124, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.94307, 0.30418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.28136, 0.30331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37209, 0.30229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43793, 0.30113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.34786, 0.29987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.91756, 0.29857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.29579, 0.29729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.53738, 0.29608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.6671, 0.29498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.66453, 0.29405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50053, 0.29334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19345, 0.2929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.83901, 0.29275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.58599, 0.29289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.56523, 0.29328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.81071, 0.29389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.22177, 0.29467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.59532, 0.29558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.71389, 0.29663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.4374, 0.29786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.74669, 0.29927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.27743, 0.30085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.51415, 0.30257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.85822, 0.30436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.23796, 0.30617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59479, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.85292, 0.30972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.91274, 0.31142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.6794, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.10784, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.66224, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.96635, 0.32086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.04292, 0.3224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.02564, 0.32367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.03596, 0.32465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.13788, 0.32535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32151, 0.3258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.51949, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.64513, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.63262, 0.32602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.45952, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.14052, 0.32572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.69627, 0.32563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.11536, 0.32572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.33308, 0.32611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.2417, 0.32688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.72932, 0.32806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.72912, 0.32953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.25639, 0.33108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.58293, 0.3324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.6135, 0.3332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.62619, 0.33327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.40803, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.76008, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.51323, 0.3289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55013, 0.32646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.82673, 0.32393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.37848, 0.3215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.30475, 0.31929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.7401, 0.31735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.82945, 0.31566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.71871, 0.31416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.55706, 0.31278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.49466, 0.31145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.66136, 0.31016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.13097, 0.3089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.89532, 0.30772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.12675, 0.30667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.04015, 0.30578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.90668, 0.30506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.6983, 0.3045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.30104, 0.30406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.57273, 0.30369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.42594, 0.3033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.88888, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.10597, 0.30217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.27434, 0.30134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.55501, 0.30037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.01513, 0.29931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.36663, 0.29822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.64607, 0.29716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.85595, 0.29616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.98645, 0.29528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01305, 0.29457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.94535, 0.29411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.85573, 0.29393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.86161, 0.29405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.06635, 0.29442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.49145, 0.29502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.04223, 0.29578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.53367, 0.29669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.76544, 0.29776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.60231, 0.29904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.01449, 0.30056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.06352, 0.30231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.14647, 0.30427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.51616, 0.30637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.96955, 0.30855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43986, 0.31076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.84467, 0.31296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.07883, 0.3151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.03825, 0.31716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.66224, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.07115, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.62094, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.92741, 0.32769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.11007, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28695, 0.32998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.33054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82782, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.12653, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.33576, 0.33065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.38344, 0.33042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.23637, 0.33016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.89616, 0.32993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.37177, 0.32982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.64631, 0.32993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.66014, 0.33035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.32273, 0.33115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.54974, 0.33228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.30807, 0.33359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.35259, 0.33484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.29692, 0.33573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.32961, 0.33602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.23351, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.80127, 0.33435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.85526, 0.33246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26362, 0.33007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.9571, 0.32738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.94004, 0.3246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.28432, 0.3219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.105, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.52975, 0.31719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.67915, 0.31527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.6667, 0.31364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.61094, 0.31224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.6407, 0.31101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.87805, 0.30989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.40269, 0.30887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.22065, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.73549, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.56608, 0.30644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.34198, 0.30591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.05611, 0.30554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.61938, 0.30532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.90714, 0.3052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.83262, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.40616, 0.30484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.74356, 0.30442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.01533, 0.30378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.36757, 0.30295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.86536, 0.30199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.49116, 0.30096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.1895, 0.29993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.08048, 0.29894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32222, 0.29804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.52027, 0.2973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.68005, 0.29678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.85359, 0.29652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.12762, 0.29656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.57623, 0.29686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.2047, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.92034, 0.29807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.5532, 0.29892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.91898, 0.29994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.88761, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.41985, 0.30273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.55889, 0.30455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.39243, 0.30665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.01322, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.49935, 0.31141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.0717, 0.31395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61767, 0.31652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.03166, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.20677, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.07115, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30087, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14431, 0.33086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74861, 0.33281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20709, 0.33426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.6198, 0.3352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.04966, 0.33569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.49809, 0.33583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.91079, 0.33574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.20725, 0.33556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.31591, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.19607, 0.33521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.83623, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.23225, 0.33528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.36085, 0.33566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.16705, 0.33634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.5767, 0.33734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.53103, 0.33856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.02802, 0.33979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.8498, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.93635, 0.34116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.01185, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.84586, 0.33973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.23432, 0.33792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02311, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.12217, 0.33288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.51321, 0.33002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.24716, 0.32714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.42623, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.17409, 0.3218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.60709, 0.31951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.82156, 0.31753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.90197, 0.31588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.93976, 0.31452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.04349, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.32586, 0.31246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.87013, 0.31165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.30298, 0.31096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.24235, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.03595, 0.30988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.75628, 0.30954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.41326, 0.30936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.94381, 0.30934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.24624, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.24189, 0.30948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.92908, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.39654, 0.30915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.78518, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.22132, 0.30778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.76454, 0.3068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.40087, 0.30573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.07746, 0.30464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.7481, 0.30358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.3971, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.02936, 0.30178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.35938, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.80401, 0.30082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.36239, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.07879, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.93921, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.84813, 0.30187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.6461, 0.30256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.16222, 0.30343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.27204, 0.30455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.9299, 0.30598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.16476, 0.30774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.05107, 0.30981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.67624, 0.31216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.12252, 0.31473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.53156, 0.31745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19934, 0.32026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78041, 0.3231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17279, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30087, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.37157, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.53027, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.4751, 0.33743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.26538, 0.33898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.97063, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.63601, 0.34053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.26077, 0.34073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.79987, 0.34076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.18512, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.35206, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.25753, 0.34109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.87934, 0.34152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.20065, 0.34221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.19063, 0.34317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.79674, 0.34444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.95792, 0.34593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.63712, 0.34748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.86019, 0.34879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.25855, 0.34954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.52018, 0.34943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.67675, 0.34837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.48222, 0.34645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.73657, 0.34387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.3115, 0.34092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.15896, 0.33783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.30706, 0.33475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.84473, 0.33181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.89545, 0.32906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.5859, 0.32655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.0215, 0.32432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.28006, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.42503, 0.32082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.52738, 0.31956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.67814, 0.31857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.9789, 0.31782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.51255, 0.31725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.6885, 0.3168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.65389, 0.31646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.45469, 0.31623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.15905, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.78963, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.30881, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.64125, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.72196, 0.3168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.54193, 0.31687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.16354, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.69424, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.23431, 0.31523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.83266, 0.31414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.47729, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.12021, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.71421, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23528, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.67954, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.04309, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.69394, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.5623, 0.30714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.57617, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.69929, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.82831, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.80924, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.48203, 0.30868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.72916, 0.30951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.50342, 0.31065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.82583, 0.31216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.76277, 0.31402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.39879, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.81872, 0.31869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.10414, 0.32138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.66084, 0.32422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.38555, 0.32715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.97961, 0.33008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.37157, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.35502, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.8223, 0.33955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.11606, 0.34166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.26053, 0.34331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.28885, 0.34448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.22047, 0.34524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.04587, 0.34574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.72626, 0.34617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.20643, 0.34666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.43219, 0.34736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.36193, 0.34833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.96627, 0.34962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.21748, 0.35126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.07686, 0.35323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.49183, 0.35549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.41041, 0.35789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.8131, 0.36012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.75082, 0.36177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.63027, 0.36243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.09622, 0.36179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.3689, 0.35985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.18729, 0.35687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.35834, 0.35327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.78109, 0.34946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.44598, 0.34575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.41843, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.8137, 0.33922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.7669, 0.33646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.40389, 0.33403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.82224, 0.33192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.08938, 0.33015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.2576, 0.3287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.38523, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.54935, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.8394, 0.32628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.33354, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.92901, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.96113, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.81569, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.5523, 0.32606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.20172, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.74904, 0.32671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.14574, 0.32713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.34336, 0.32748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.32867, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.13838, 0.32741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.84331, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.51181, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.17632, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.82393, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.4126, 0.32189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.89835, 0.32059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.2543, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.47199, 0.3184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.54977, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.51726, 0.31702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.73304, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.08057, 0.31644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.49793, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.86914, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.04152, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.86467, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.23099, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.09798, 0.31726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.48608, 0.31828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.45952, 0.31971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.10264, 0.32152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.50248, 0.32366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.74168, 0.32608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.10039, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.94511, 0.3315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.71729, 0.33432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.35502, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.35242, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.09839, 0.34411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.7157, 0.3462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.19903, 0.34797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.54784, 0.34942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.75468, 0.35063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.79699, 0.35173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.63681, 0.3529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.22753, 0.35428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.52314, 0.35601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.48391, 0.35816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.07512, 0.36079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.25981, 0.3639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.99156, 0.36744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.21585, 0.37128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.88675, 0.37513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.99964, 0.37853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.63009, 0.38088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.0418, 0.38158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.74405, 0.38033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.1676, 0.37724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.03937, 0.37283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.17738, 0.36779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.50884, 0.36272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.05755, 0.35804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.91637, 0.35393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.21594, 0.35043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.09507, 0.34749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.67647, 0.34503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.05332, 0.34301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.29022, 0.34136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.43694, 0.3401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.54637, 0.3392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.68549, 0.33865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.93151, 0.33842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.35427, 0.33846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.0054, 0.33869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.14812, 0.33906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.10996, 0.33951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.93965, 0.34002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.67115, 0.34058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.3071, 0.34117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.82241, 0.34173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.18445, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.37693, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.41216, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.32372, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.14468, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.88629, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.53076, 0.33773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.04095, 0.33633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.37857, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51873, 0.33387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.45381, 0.33288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.18865, 0.33205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.26383, 0.33137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.87837, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.60354, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.34756, 0.32957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.97755, 0.32883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.33991, 0.32803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.29514, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.75043, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.67529, 0.32658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.09698, 0.32684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.08279, 0.32755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.71892, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.09384, 0.33027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.28944, 0.33218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.37932, 0.33437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.56972, 0.33677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.4973, 0.33927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.35242, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.45798, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.43965, 0.3504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.33215, 0.35249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.11012, 0.35448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.74846, 0.3564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.21798, 0.35833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.48271, 0.36038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.50049, 0.36271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.22622, 0.36547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.61567, 0.36879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.62692, 0.37277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.21802, 0.37744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.34193, 0.3828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.94327, 0.38876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.96352, 0.39506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.36082, 0.40123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.14553, 0.40652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.4215, 0.41 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.59057, 0.41085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57469, 0.40871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.18966, 0.40393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.15444, 0.39739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.30324, 0.39017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.59285, 0.38314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.07639, 0.37685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.86658, 0.37151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.10189, 0.36715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.91999, 0.36366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.43954, 0.36091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.7519, 0.35877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.92359, 0.35716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.00731, 0.35603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.05537, 0.35534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.12783, 0.35506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.29043, 0.35516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.6027, 0.35558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.89731, 0.35624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.20288, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.33636, 0.35792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.33479, 0.35881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.23026, 0.35967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.03559, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.74187, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.32786, 0.36164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.77366, 0.36183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.06965, 0.36165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.21518, 0.3611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.20894, 0.36023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.03847, 0.35916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.67663, 0.35803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.0873, 0.35695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.23684, 0.356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10471, 0.35519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.68887, 0.35448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.00652, 0.35381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.09452, 0.35308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.98627, 0.35217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.14344, 0.35096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.24954, 0.34938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.15152, 0.34747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.69521, 0.34535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.75623, 0.34324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.26337, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.20568, 0.33992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.6237, 0.33901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.59178, 0.33867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.19905, 0.33889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.53439, 0.33961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.6776, 0.34076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.69669, 0.34229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.64898, 0.34411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.41659, 0.34613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.45798, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.72413, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.89726, 0.36067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.0102, 0.36287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.02736, 0.36527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.9101, 0.36793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.61586, 0.37092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.09837, 0.37437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.30874, 0.37844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.19701, 0.38327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.7131, 0.38902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.80595, 0.39579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.42069, 0.40365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.49529, 0.41258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.96049, 0.4224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.74913, 0.43268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.82077, 0.4426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.20304, 0.45092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.03736, 0.45616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40053, 0.4571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.73772, 0.45337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.59654, 0.44572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.69246, 0.43569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.88326, 0.42493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.15945, 0.41468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.60293, 0.40567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.34304, 0.39816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.52298, 0.39214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.27785, 0.38744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.72258, 0.38386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.94796, 0.38121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.02392, 0.37934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.0076, 0.37814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.95231, 0.37753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.91295, 0.37745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.94493, 0.37784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.09706, 0.3786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.59799, 0.37965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.13017, 0.38086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.51139, 0.38213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.76681, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.92189, 0.38453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.99087, 0.38554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.97154, 0.38638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.84721, 0.38701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.59289, 0.38739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.18097, 0.38752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.58313, 0.38744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.7685, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.70107, 0.38701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.33967, 0.38688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.64237, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57452, 0.38712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.11771, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.27756, 0.38764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.08968, 0.38756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.62434, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.01036, 0.38548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.66952, 0.38311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.18189, 0.37981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.37183, 0.37578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.08805, 0.37136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.22838, 0.36697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.75138, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.6728, 0.35955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.05148, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.97145, 0.35504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.52519, 0.35392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.80117, 0.35349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.87656, 0.35365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.81485, 0.35433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.66713, 0.35544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.52467, 0.35691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.72413, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.14376, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.47283, 0.37844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.76012, 0.381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.96723, 0.38415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.05099, 0.38797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.96349, 0.39257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.65274, 0.3981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.06343, 0.40475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.13735, 0.41271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.8128, 0.4222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.02256, 0.43339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.69109, 0.44639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.73253, 0.46119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.05374, 0.47748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.56887, 0.4945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.23242, 0.5108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.09208, 0.52418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.34352, 0.53212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.6552, 0.53269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.44934, 0.52564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.61516, 0.51264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.87115, 0.4964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.11129, 0.4795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.36962, 0.46375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.7616, 0.45008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.43489, 0.43877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.53828, 0.42974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.20549, 0.42271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.54868, 0.41738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.6581, 0.41347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.60583, 0.41074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.45163, 0.409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.2486, 0.4081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.04657, 0.40791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.8917, 0.40833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.82294, 0.40922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.13295, 0.41046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.9647, 0.41192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.67596, 0.41345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.28004, 0.41497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.7917, 0.4164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.21883, 0.41771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.55685, 0.41889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.78713, 0.41996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.87857, 0.42098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.79051, 0.42203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.47522, 0.42321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.87941, 0.42466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.94543, 0.42648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.61354, 0.42875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.82668, 0.43148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53829, 0.43453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.72329, 0.43759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.39124, 0.4402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.59988, 0.44175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.46494, 0.44163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.83981, 0.43938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.09806, 0.43485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.08222, 0.42833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.59175, 0.42044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.48432, 0.41199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.68956, 0.40371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.2046, 0.39616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.07823, 0.38967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.39139, 0.38437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.23947, 0.38025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.71869, 0.37724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.91693, 0.37523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.90893, 0.37408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.75514, 0.37371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.50342, 0.37402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.19254, 0.37493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.14376, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.65064, 0.40749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.11378, 0.40982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.54588, 0.41317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.90964, 0.41762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.16273, 0.42331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.2572, 0.43041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.13933, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.74928, 0.44979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.02016, 0.46267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.87597, 0.47813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.22856, 0.49652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.97415, 0.51809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.99195, 0.54289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.14981, 0.57044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.32579, 0.59939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.45608, 0.627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.6111, 0.6491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.93032, 0.66096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.67854, 0.65947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.05442, 0.64499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.57672, 0.62132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.9836, 0.59347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.22995, 0.56564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.41207, 0.54035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.68928, 0.5187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.23262, 0.50088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.19933, 0.48659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.72351, 0.47539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.91506, 0.46678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.86242, 0.46032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.63686, 0.45565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.2972, 0.45245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.89362, 0.45049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.47002, 0.44953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.06436, 0.44941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.70752, 0.44994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.42155, 0.45096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.78123, 0.45233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.89723, 0.45391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.92824, 0.4556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.87644, 0.45737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.73897, 0.4592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.50356, 0.46115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.146, 0.46333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.62956, 0.46587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.90566, 0.46897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.91515, 0.47282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.58947, 0.47765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.85214, 0.48362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.62102, 0.49082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.81322, 0.4992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.3543, 0.5084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.1944, 0.51774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.33192, 0.52605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.84161, 0.53187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.89564, 0.53366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.24001, 0.5304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.24579, 0.52201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.81524, 0.5095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.71702, 0.4945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.82475, 0.47878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.11101, 0.46371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.621, 0.45016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.44256, 0.43854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.68212, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.4483, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.84205, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.95145, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.84974, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.59586, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.23662, 0.40576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.81009, 0.40613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.65064, 0.40749 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.60099, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.61618, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.64635, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.69233, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.7535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.82758, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.90967, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.99091, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.05763, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.09149, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.07103, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.97436, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.78275, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.48472, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.08051, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.58665, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.0398, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49906, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04522, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77572, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.7945, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.19706, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.05271, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.38865, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.18105, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.35725, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.80882, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.41096, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.04157, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.59502, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.98841, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.16163, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.07405, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.70151, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.03601, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.08876, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.89487, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.51647, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.04139, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.57522, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.22711, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.0929, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.24068, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.70358, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.48046, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54262, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84303, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.32571, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.93358, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.61417, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.32276, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.02282, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.68393, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.27813, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.77574, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.1423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.33793, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.32009, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.05007, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.50224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.67213, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.57836, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.2563, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74773, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.3241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47028, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.5534, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59244, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60385, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60184, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59803, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.60099, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20147, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.21941, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.24507, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.27946, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.32295, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.37598, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.43826, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.50674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.57355, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.62482, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.64091, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.59792, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.47027, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.23488, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.87716, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.39918, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.82849, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22536, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68536, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.33462, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.31595, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.7659, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.78602, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.41624, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.62072, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.2939, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.28513, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.43141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.58556, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.63205, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.48913, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.10104, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.42638, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.42936, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.07878, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.35574, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.26661, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.85539, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.20977, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.45687, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.74671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.22595, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.0105, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.1674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.71101, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61098, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.80626, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.2198, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.77127, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.38649, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.00274, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.56969, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.04646, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.39656, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.58388, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.57267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.3328, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84831, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12348, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18162, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05634, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78089, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38125, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87475, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27259, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58311, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81444, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97617, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08006, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14003, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17118, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18784, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20147, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.41025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.4185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.42715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.43727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.45223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.47543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.50712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.54187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.56696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.56162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.49714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.33939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.05575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.82001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.40092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.3571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.87195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.08206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.03688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.67935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.85993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.37846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.03395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.66165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.14863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.4289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.46531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.22724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.67417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.75218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.40543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.59767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.33465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.67927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.75495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.73424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.81055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.15864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.89955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.08378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.66583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.90113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.29589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.75182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.18645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.53538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.74862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.78472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.60787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.5613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.3482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.2255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.60025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.89487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.11074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.33862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.00053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.97153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.93444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.88796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.83677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.78946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.75473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.73761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.73597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.73671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.71183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.61773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.62947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.5703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.17188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.60505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.9224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.03548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.74134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.78587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.93107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.99899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.88477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.54392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.96405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.13268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.01332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.5389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.62471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.19557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.21588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.71114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.77696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.57624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.32086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.23338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.49825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.22378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.42981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.06004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.00857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.14975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.3631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.54872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.63111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.55401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.2728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.97734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.95884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.74354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.40014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.99782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.82726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.25098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.58667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.83141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.98893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.07021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.85591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.78118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.69379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.58684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.33337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.2134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.11834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.0581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.02979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.0087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.94317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.76158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.0757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.75344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.69429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.41531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.11569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.84246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.46818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.73304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.32929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.98282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.5009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.78195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.79669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.55266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.05523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.27842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.1555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.59128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.49063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.48915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.64634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.39469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.92969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.48863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.30426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.54888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.29642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.11347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.94194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.86857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.78222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.26359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.92748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.87252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.57869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.11401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.57184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.03902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.56723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.7878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.94383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.40032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.75362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.00038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.14312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.19193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.16714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.1149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.81305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.68503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.54768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.38535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.19506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.98687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.77998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.59779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.46126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.37772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.32608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.24704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.0506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.66036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.63101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.51415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.52503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.69669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.86306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.71497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.89844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.10392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.11577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.82091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.18841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.2323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.9701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.39074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.44221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.04097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.09744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.54624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.36881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.60349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.34942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.77043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.09003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.5594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.39748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.73067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.56711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.33876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.99192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.66193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.2655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.01216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.03873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.79141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.29943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.6501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.96326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.34722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.85921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.49045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.85295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.4433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.9176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.26517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.48591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.5829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.56553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.45659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.29281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.1149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.2287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.72903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.54002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.35635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.15064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.91065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.64179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.36371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.10502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.89502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.74865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.64632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.52045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.26538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.0143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.07857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.43094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.47878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.56504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.90411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.51175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.19674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.62173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.40146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.19139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.73949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.89973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.61732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.89601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.75861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.21371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.23933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.78646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.79642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.22178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.27858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.99911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.33844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.50048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.73729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.29134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.32333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.86895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.85062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.13065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.87469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.05722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.98899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.63002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.00933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.23233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.44832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.79165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.32786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.03323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.56821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.20422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.68562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.00704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.17463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.19356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.83892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.53858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.2287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.27581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.52513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.26875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.04574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.81423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.54926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.24836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.92896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.62228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.36265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.16839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.01752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.8334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.49948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.95367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.34457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.52726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.83809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.47469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.44132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.54742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.45907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.78019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.13267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.21367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.82281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.86105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.30787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.1867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.53139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.36459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.69128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.5021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.77987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.68386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.34653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.60228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.64104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.71695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.0873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.93136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.2971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.11008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.23279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.53038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.90443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.28535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.60266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.76562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.67695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.27721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.59124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.74095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.90658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.25191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.85301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.67036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.4311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.12234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.60844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.98425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.89663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.63774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.23802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.7582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.27581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.28824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.69965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.25009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.92628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.6768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.44306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.18411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.88688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.56488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.25039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.98004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.77135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.59634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.36995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.97227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.27939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.68278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.16496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.79594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.27141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.41931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.76567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.1222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.35189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.07056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.87321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.39929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.3813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.66424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.19582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.99773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.13213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.67385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.69075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.22946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.30558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.9043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.9999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.59547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.76911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.70036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.65139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.89649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.6284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.8973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.62196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.65887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.87665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.18988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.54279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.86874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.06568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.01442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.63462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.94399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.07757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.24461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.63814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.3455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.31177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.35677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.12256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.6245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.8705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.88302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.67431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.25529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.66239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.97257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.28824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.46258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.70629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.14309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.76457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.51013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.3036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.08569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.8305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.54645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.26624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.02724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.84379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.31891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.55037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.96459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.63886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.54218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.34182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.6129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.02757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.32906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.37178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.13829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.74288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.57214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.45501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.4904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.27023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.46446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.86328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.38131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.03483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.90922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.12628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.81239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.06691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.93645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.43146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.97525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.08812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.93915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.79942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.96083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.62823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.85079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.5365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.53214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.70725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.98903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.3378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.69529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.95377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.97699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.66595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.02939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.2099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.43822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.9306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.78373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.92996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.1791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.31528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.18562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.73275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.96767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.91891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.60224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.03083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.24837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.34929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.46258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.18246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.64999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.2447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.9864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.13519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.27944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.45913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.67199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.88564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.06252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.19108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.30964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.50501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.87617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.47473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.58418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.58763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.78087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.95851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.99891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.87034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.6406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.49377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.26342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.23025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.98138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.15034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.48829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.88028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.32964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.92992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.83252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.20777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.19909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.88173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.22445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.75264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.8524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.6798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.50854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.64053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.28768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.49776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.17068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.14558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.29224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.54829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.88991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.27141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.58797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.69624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.48554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.95577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.24877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.60281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.24417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.27371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.61661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.38099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.39309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.03328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.30988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.25287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.88015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.20772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.28673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.22742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.18246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.0369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.98122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.65593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.05071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.23171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.3009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.35133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.43642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.56113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.69484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.80008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.86551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.92679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.05957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.34138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.79829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.3649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.87941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.11517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.83078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.81485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.90998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.01745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.09897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.19161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.43488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.08842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.51385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.88696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.75265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.82383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.96548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.16011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.48988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.11199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.21981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.9878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.80477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.77441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.34032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.50051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.39345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.28246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.46365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.1457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.37489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.0506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.01189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.13078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.35202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.66442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.03746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.37947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.55447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.45187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.0652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.52589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.06108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.88877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.1065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.63989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.78658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.97496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.76565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.15716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.17452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.83499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.15709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.80243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.9231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.0369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.68498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.23596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.58419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.69877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.68312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.63885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.62985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.66888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.7292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.77408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.7895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.80208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.86952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.04491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.65982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.88027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.80508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.24476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.04111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.07913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.28494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.62698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.13289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.91696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.19714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.27982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.50883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.19975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.59005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.1812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.07452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.14597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.53602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.43755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.03829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.70465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.70658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.36921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.32636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.26485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.20982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.89014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.11254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.83221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.14118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.19017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.10094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.92504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.66683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.34231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.02168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.81887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.83072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.06544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.41005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.66592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.64086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.24815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.55462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.06669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.68334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.69296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.11272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.92904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.12888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.69307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.56322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.61756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.68498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.40058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.73596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.00956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.05389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.96431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.84207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.75638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.72717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.73359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.74103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.73123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.71777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.73694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.81758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.05105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.00344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.65151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.85082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.48741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.48341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.7931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.40431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.35293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.74363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.75923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.64493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.66875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.07615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.05895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.74276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.18139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.34844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.13437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.3676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.8672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.5083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.2642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.19635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.39145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.8772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.56536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.25991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.7304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.80872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.4518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.73579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.79226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.73204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.60509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.41495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.16694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.90701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.71791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.67246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.77533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.93501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.99097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.78722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.25281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.44336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.68764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.11417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.90035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.08097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.65795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.62561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.96686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.62672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.4917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.40058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.03781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.63036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.03858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.21737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.19526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.05163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.87825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.74291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.6703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.64635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.64028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.63001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.61551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.61187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.62613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.5586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.29696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.72537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.73503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.24714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.21627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.62682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.4934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.86946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.85766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.61038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.31353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.15877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.31764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.92822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.09122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.86323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.24123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.14974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.45099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.6395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.36927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.21652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.25043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.49954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.90194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.30774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.53485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.44575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.00034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.25597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.31988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.28799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.20845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.08761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.92502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.74518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.5988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.53108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.53924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.55097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.44367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.09876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.46263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.57995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.63694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.89858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.46849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.39631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.69928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.38034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.4266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.79065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.37467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.03781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.22282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.29203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.20896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.03234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.83684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.6817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.59212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.5598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.5588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.5651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.56747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.56306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.46587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.2685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.85571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.12892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.00598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.4353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.39918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.91079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.01197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.77423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.2991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.71174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.14646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.72985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.57036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.7576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.36443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.44093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.99718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.9864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.30699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.45952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.14237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.89916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.77675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.79847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.92405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.04734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.03436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.77974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.24855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.48049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.5575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.55793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.52592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.47096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.39043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.29292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.20229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.13855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.09001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.9986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.77318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.32761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.62452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.70045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.63898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.77195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.1566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.85151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.88543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.26871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.99335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.02152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.27485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.49134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.44148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.3015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.10867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.91599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.7681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.68548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.6627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.6783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.70829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.73409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.57963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.30478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.79628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.97249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.77069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.16008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.14552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.7642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.07968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.17605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.15091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.10558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.13392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.3143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.70924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.37155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.3493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.68114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.42177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.73297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.42042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.08771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.82516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.64798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.5314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.40579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.17993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.77914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.17594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.39593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.49768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.54086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.56251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.5731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.56908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.54849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.51554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.47061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.39386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.23682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.93188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.41849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.67342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.72867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.6027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.64629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.88914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.39226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.19043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.29867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.71333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.40632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.31918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.74238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.54224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.36743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.24469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.18548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.18343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.21981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.27164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.33147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.28522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.13186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.80852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.24209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.36354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.12464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.51044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.54288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.27602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.78666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.16361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.49701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.86834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.3429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.96781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.77666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.79787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.06026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.58991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.39829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.46932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.75541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.70314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.25598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.83531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.44977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.10644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.79079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.46111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.0611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.54309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.88831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.11248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.25429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.35509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.44212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.52347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.59398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.64459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.6663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.64584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.55743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.35928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.00114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.44224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.67164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.72004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.6568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.56691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.71517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.07695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.68797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.56513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.70815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.0979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.4486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.35329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.50765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.52015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.45883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.27705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.91559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.30899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.39849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.14758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.55354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.65005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.50052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.18621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.79346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.40243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.07877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.86949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.80402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.90031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.17258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.63617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.30575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.18742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.2697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.51997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.33187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.80718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.29884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.80457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.32538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.85334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.3667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.8354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.2335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.55082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.79671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.99415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.16793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.33393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.49471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.64172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.7603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.83269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.83692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.74401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.51788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.12194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.53152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.74681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.7996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.75003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.5046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.1333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.2699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.2955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.34923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.40876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.44942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.44266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.35278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.13413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.73166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.08711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.15113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.89754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.33339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.49961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.46256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.30109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.09396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.91018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.8031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.8086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.9474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.23038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.66454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.25664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.01253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.93258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.00639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.2104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.87219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.26414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.66854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.07791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.49004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.90136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.30327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.68371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.03228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.34568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.62948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.89507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.15344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.40914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.65724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.88397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.06928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.18913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.21643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.1214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.87401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.44974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.04943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.11836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.09875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.7837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.14073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.14483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.17362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.20428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.21149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.16575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.03104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.76312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.31089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.62276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.65823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.40077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.86556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.0976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.1618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.13024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.07144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.04317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.08896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.23777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.50625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.90267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.43091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.09291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.88874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.8145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.85982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.23136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.50809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.81447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.13476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.46069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.78938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.1202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.45231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.78425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.11507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.44579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.77954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.11976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.46707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.81624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.15453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.46194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.71287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.87829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.92802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.8334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.57107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.12803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.50654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.7269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.82639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.27963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.2467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.21803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.0562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.95746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.90338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.87345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.79247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.68589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.4891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.1589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.64718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.90792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.90858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.64163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.12932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.41885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.57115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.64946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.71113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.8032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.96087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.20795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.55875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.02058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.5962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.28537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.08531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.99015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.40973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.6338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.87776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.13509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.40385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.6852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.98199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.29758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.63524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.99764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.79868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.22949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.6661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.0893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.4733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.78725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.99781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.07276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.9854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.71937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.27246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.65847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.90598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.3583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.76954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.2467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.38299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.86911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.45283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.12399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.87014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.67671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.52707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.4025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.28179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.1403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.9485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.6705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.26377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.68208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.88351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.84241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.55971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.06413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.40387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.63453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.80965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.9754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.16869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.41707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.73965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.14851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.65021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.24717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.93871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.72158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.5901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.6206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.73643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.88796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.06806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.27287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.50175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.75668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.04137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.36011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.71676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.11359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.55011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.02183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.51897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.02549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.51844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.96825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.34011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.59712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.70521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.63934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.38919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.96185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.38049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.90034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.76479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.12636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.58512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.15123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.83108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57994, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58467.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57328.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56175.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55018.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53862.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52710.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51561.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48043.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46796.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45484.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44093.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42618.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41062.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39440.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36100.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34455.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32884.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30133.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29022.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28112.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27400.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26868.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26207.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25998.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25492, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25326.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25176.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25066.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25032.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25116.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25366.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26547.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27548.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28844.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30430, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32284.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34373, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39072.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41583.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44136.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46687.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49196.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51628.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53950.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56131.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58142.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59952.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61537.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62876.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63959, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64780.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65346.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65668.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65762.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65646.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64868.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64246.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63494.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61682.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58467.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55108.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53904.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52701.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50319.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49145.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47978.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46807, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45616.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44386.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43096.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41732.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38745.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37133.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35466.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33778.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32112.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30519.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29053.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27766.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26697.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24896.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24683.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24583.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24543.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24480.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24313.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24194.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24078, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23998.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24002.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24501.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25120, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26052.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28933.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30859.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33057.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35470.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38034.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40684.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43357.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46000.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53352.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55506.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57465.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59202.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60696.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61931.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62900.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63607.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64062.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64280.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64279.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64079.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63699.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62466.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61650.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60723.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59706.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58618.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57478.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53952.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52729.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51500.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50275.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49058.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47855, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46667.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45494.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44328.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43156.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41960.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40719.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39416.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38038.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36578.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35040.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33439.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30177.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28617.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27186.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25947.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24951.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24226, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23769, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23547.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23505.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23576, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23917.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23969.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23973.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23932.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23861.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23783.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23741.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23795.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24021.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24500.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25301.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26471.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28024.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29941.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32173.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37297.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40025.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42760.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45437.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48007.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50432.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52685.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56578.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58171.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59507.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60578.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61387.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61947.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62275.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62390.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62309.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62048, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61619.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61038.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59468.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58509.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57458.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55159.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53952.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51445.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50219.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48991.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47768.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46552.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45350.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44164.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42997.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41847.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40704.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39555.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38383.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37170.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35902.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34566.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33156.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31678.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30154.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28625.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25796.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24641, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23740.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23129.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22803.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22724.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22826.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23038, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23293.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23548.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23966.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24112.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24256.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24256.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24252.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24378.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24709.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25338.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26337, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27741.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29549.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31716.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34168, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36811.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39545.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42278.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44930.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47446.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49786, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51921.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53830.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55490.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56885.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58008.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58866.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59867.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60061.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60079.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59932.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59630, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59177.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58581.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56998.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56033.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54975, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53842.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52658.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51445.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48796.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47594.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46395, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45200.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44013.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42836.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41674.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40533.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39414.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38316, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36142.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33911.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32732.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31489.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30177.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27424.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24843.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23800.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23010.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22510.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22296.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22327, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22534.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22847, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23203.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23566.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23921.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24262, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24582.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24867.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25094.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25247.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25328.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25373.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25453.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25663.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26108.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26885.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28059.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29654.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31644.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33960.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36502.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39155.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41811, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46791.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49006.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50991.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52721.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54174.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55336.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56212.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56825.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57214.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57422.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57216.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56888.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56425.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55107.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54266.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52273.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51156.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49989.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48796.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46033.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44884.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42607.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41479.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40358.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39251.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38165.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37105.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36074.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35070.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34088.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33117.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32140.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31136.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30082.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28963.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27785.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26577.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25395.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24311.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23400.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22724.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22320.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22287.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22558.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22934.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23817.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24290.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24782.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25286.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25775.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26211.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26554.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26785, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26917.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27005.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27135.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27415.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27955.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30150.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33941.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38758.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41257.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43675.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45938.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47995.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49810.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51348.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52583.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53502.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54120.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54479.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54643.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54673.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54609.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54464.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54229.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52831.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52123.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51305.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49380.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48303.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47179.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46033.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43217.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42151.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41098.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40055.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39020, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37992.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36976.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35016.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34086, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33192.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32335.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31509.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30697.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29876.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29019.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28106, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27134.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26129.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25136.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23446.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22873.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22538.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22445.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22862, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23269.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23749.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24280.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24857.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25482, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26811.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27433.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27954.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28338.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28578.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28803.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28955.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29279.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29886.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30863.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32246.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34006.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36058.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38281.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40549.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42756.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44822.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46693.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49668.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51381.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51757.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51881.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51839.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51708.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51536.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51065.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50243.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49660.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48970.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48182.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47308.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45341.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44286.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43217.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39503.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36741.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35842.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34957.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34095.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33264.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32470.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31719.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31011.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30344.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29703.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29067.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27704.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26947.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26152.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25356.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24606.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23959.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23464.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23159, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23059.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23157.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23427.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23832.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24338.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24922.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27061.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27843.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28585.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29230.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29730.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30067.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30344.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30414.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30572, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30935, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32657.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34076.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35797.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37709.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39689.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41633.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43464.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45122.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46556.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47713.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48546.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49037.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49212.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49145.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48936.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48677.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48418.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48159.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47867.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47497.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47023.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46443.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45769.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45015.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44192.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43309.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41419.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37903.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37092.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36305.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35536.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34782.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34042.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33321.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32627.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31967.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31345.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30766.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30231.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29736.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29273.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28357.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27857.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26718.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26104.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25501.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24500.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24182.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24027.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24049.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24604.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25694, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26380, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27135.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27938.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28754.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29534.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30788, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31188.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31429.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31539, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31636.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31830.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33036, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34139.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35529.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38774.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40426.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41993.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43420.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44651.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45628.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46297.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46664.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46145.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45796.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45468.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45159.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44829.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44432.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43941.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42694.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41973.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41207, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40403.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39574, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37903.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35739.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35091.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34470.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33287.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32724.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32188.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31687, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31224.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30419.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30075, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29766, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29485.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29217.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28941.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28634.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28276.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27862, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27397.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26905.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25968.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25600.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25349.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25251, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25326.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25581.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26001.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26557.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27215.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27944.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28713.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29491, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30913.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31480.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31911.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32195.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32344.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32399.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32435.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32553.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32857.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33423.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34274.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35374, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36643.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37995.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39350.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40648.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41839, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42867.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43675.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44206, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44380.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44116.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43738.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43334.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42949, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42580, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42191.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41744.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41217.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40614, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39955, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39262.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37834.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37118.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36416.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35739.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33646.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33199.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32773.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32366.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31985, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31640.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31341.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31089.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30881.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30709.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30454.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30360.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30274.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30177.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30042.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29845.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29568.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29210.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28783.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28313.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27835, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27387.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27016.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26767.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26683.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26788.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27079.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28095.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28738.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30110, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30779.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31398.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31940.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32380.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32701.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33020.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33101.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33499.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33964.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34646.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35517.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37595.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38679.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39726.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40693.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41531.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42184.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42603.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42761.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42674.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42397.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42005.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41569.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41125.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40676.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40199.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39671.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39080.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38437.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37766.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37090.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36428.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35792.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34635.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33145.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32835.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32555.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32295.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32056.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31849.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31691.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31591.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31559.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31604.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31674.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31759.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31854.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31946.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32014.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32028.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31958, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31480.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31075.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30587.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30050.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29507.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29005.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28599.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28342.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28272.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28396.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28692.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29632.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30195, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31358.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31915.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32427.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32870.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33229.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33499.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33701.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33878.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34091.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34401.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34846.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35436.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36149.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36950.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37798.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38658.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39495, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40272.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40947.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41471.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41804.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41924, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41836, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41575.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41191.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40728.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39661.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39063, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38416.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37728.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36308.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35628, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34995.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34425.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33928.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33504.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33145.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32828.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32657.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32523, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32411.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32324.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32278.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32293, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32380.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32541, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32760.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33018, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33296.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33862.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34125.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34345.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34487, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34513.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34395.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34123.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33708.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32562, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31914.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31285.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30734.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30318.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30080.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30033.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30161.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30428.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30796.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31231.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31710.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32725.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34073.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34414.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34713.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35006.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35332.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35726.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36204, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36759.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37375.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38034.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38719.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39414.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40096.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40735, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41291.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41724.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42002.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42106.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42033.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41799.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41424, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40928.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40332.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39651.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38901.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38105.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37285.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36472.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35694.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34977.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34343.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33809.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33382.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32828.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33130.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33059.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33038.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33050.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33097.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33196.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33368.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33628.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34387.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34843.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35794.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36254.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36677.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37034, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37284.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37387.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37312.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37048.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36605.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36013.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34567, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33823.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33150, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32604.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32229.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32014.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32134.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32366.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32685.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33076, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34005.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34497.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34973.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35818.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36205.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36602.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37036, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37517.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38042.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38594.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39159.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39733.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40318.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40911.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41500.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42058.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42939.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43306.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43257.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43046.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42670.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42133.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41444.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40626.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39713.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38747.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37772.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36828, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35947.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35160.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34488.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33948.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33548.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33130.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33996.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33978, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34032.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34140.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34302.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34531.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34848.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35263.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35773.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36358.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36990.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37640.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38285.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38903.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39943, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40286.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40454.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40152.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39035.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38262.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37422, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35812.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35169.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34692.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34251.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34252, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34370.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34593, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34910.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35312.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36272, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36767.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37242.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37696.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38146.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38617.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39124.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39668.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40230.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40792.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41879.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42421.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42973.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43529, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44064.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44544.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44935.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45209.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45344.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45324.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45130.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44747.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44163, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43384.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42437.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41369.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39101.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38011.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37009.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36125.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34797.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34378.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34119.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33996.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35374.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35366.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35460.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35638.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35895.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36688.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37241.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37893.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38622.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39397.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40189.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40969.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41712.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42387.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42956.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43373, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43593.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42844.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42159.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40421.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39510.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37398.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37014, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36785.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36693.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36722.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36864.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37119.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37917.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38405.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38908.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39401.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39882.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40366, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40872.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41413.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41984.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42566.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43141.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43698.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44245.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44796.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45361.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45936.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46497.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47010.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47441.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47757.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47934.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47946.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47768.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47374.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46749.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45897, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44846.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43652.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41104.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39880.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38757.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37768.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36937.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36282.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35808.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35512.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35374.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37229.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37307, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37529.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37862.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38307.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38867.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39537.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41143.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42024, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42914.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43786.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44610.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45355.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45980.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46442.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46712.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46471.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45984.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45284.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44426.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43480.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42525.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41633.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40862.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40246.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39791.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39487.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39268.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39339.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39531.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39837.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40698.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41185.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41673.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42155.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42643.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43152.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43694.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44265.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45444.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46620.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47847, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48482, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49104.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49681.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50173.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50547.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50772.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50818.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50654.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50254, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49601, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48700.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47585.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46310.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44949.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43574.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42252.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41034.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39956.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39043.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38311.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37768, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37411.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37229.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39529.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39468.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39568, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39814.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40201.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40720.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41365.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42121.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42968.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43878.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44819.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45760.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46672.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47527, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48292.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48931.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49402.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49666.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49461.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48984.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48292.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47436.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46485.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45515.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44596.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43785.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43114.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42593.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42215.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41970.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41848.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41848.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41972.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42212.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42552.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42960.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43406, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43863.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44323.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44792.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45283.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45807.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46367, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46957, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47570.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48203.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48860, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49543.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50252.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50972.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51677.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52890.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53323.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53593.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53668.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53518, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53117.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52454.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51539.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50403.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49104.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47712.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46301, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44936.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43671.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42542.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41574.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40784.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40179.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39762.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39529.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42133.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42219, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42472.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42883.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43442.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44131.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44929.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45809.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46740.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47690.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48629.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49528.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50361.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51097.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51704.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52146.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52389, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52404.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52180, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51055.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50228.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49303.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48347.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47426.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46591.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45876.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45294.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44846.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44526.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44302.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44464.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44725.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45059.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45440.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45845.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46265.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46702, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47166.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47669.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48218.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48815.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49459.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50882.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51656.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52459, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53268.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54054.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55881.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56186.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56283.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56145.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55753.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55103, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53098.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51832.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50475.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49094.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47752.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46500.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45373.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44396.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43584.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42949.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42494.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45103.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45173.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45415.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45820.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46372.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47053.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47835.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48690, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49584.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50487.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51370.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52205.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52968, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53631.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54167.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54547, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54732.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54506, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54068.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53443.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52668.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51796.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50884.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49987.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49152.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48411.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47784, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47275.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46886.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46617.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46465.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46922.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47224.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47565.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47935, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48335.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48774.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49263.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49810.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50423.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51103.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51848.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52653.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53506.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54387.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55269.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56117.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57553.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58063.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58388.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58500.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58377.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58008.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57393.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55518.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53079.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51793.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50539.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49361.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48294.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47360.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46575.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45950.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45493.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48315.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48206.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48259.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48471.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48834.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49333.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49948.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50653.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52218.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53018.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53793.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54518.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55171, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55727.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56165.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56461.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56594.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56320.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55910.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55338.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54634.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53838.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52997.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52154.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51349.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49964.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49417.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48644.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48307.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48295.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48374.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48532.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48753.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49027.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49347.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50135, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50618, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51172.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51804.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52515.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53302.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54154.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55054.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55978.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56895.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57768.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58560.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59231.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59747.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60078.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60200.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60099.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59770.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58469.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57551.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56510.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55395.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54259, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53146.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52097.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51140.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50298.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49584.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49010.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48585.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48315.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51304.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51198.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51228.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51392.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51682.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52087.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52587.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53163.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54439.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55089.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55715.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56809.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57238.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57563.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57768, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57836.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57758.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57530, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57155.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56648.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56031.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55333.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54587.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53829.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53088.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51759.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50741.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50094.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49915.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49830, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49831.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50062.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50277.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50554.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50894.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51781.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52340.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52982.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53705.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54504, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55363.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56264.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57181.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58083.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58934.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59701, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61169.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61233.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60964.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60506.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59879, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59112.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58244.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56366, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55433.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53740.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53023.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52411.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51916.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51545.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51304.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53919.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53814, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53812.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53913.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54394.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54751.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55165.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55618.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56090.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56561.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57014.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57430.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57793.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58297.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58318.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58100.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57770.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57339.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56821.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56236.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55608.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54960.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53698.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52603.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52152.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51775.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51479.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51265.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51133.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51082.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51108.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51208.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51380.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51624.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51940.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52330.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52799.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53347.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53974.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55442.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56259.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57106.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57960.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58791.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59572, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60271.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60861.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61319.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61625.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61768.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61743.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61553.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61208.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60728.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60137.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59464.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58741.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57998.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56565, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55918.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55341.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54845.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54439.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54128.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53919.5, 145 + 500);
}
